In recent years, corporations have made increasing use of computer systems to manage information related to products. For example, corporations that manufacture and sell products use a variety of types of data to manufacture, market, and sell their products. Some types of data used in connection with these processes include, e.g., graphics, technical specifications, pricing information, marketing brochures, financing plans, blueprints, technical schematics, compatibility rules, option lists, competitive information, and sales programs. This product information can be stored, for example, using a computer-accessible database and retrieved using a search engine. The capabilities of modem computer systems have enabled corporations to store vast amounts of product information in a system.
Typically, product information is generated and used by a variety of departments or divisions within a corporation rather than by a single entity. This decentralization of data management has created a number of challenges. For example, different departments within a corporation sometimes create redundant or nearly redundant data, resulting in unnecessary use of data storage resources. In addition, the use of redundant data by different departments typically involves global updating of the data when, for example, product specifications change. Failure to update all instances of a particular item of information can have adverse consequences, such as inconsistencies in the information used by the departments. For example, an engineering department might use the most current version of an information item, while a marketing department, unaware of changes in technical specifications, might use an outdated version of the same item.
As the size and complexity of a computer database increase, product information becomes more vulnerable to such inconsistencies. Inconsistency of data can result from a number of other sources. For example, a particular product description can be spelled out verbatim by one department, but abbreviated by another. This inconsistency in documentation between departments can cause the corporate identity of this information to be lost or confused.
The distributed nature of many corporate databases has resulted in a number of additional difficulties. For example, it is often difficult to manage relationships between data items used by different departments. As a result, many corporate databases fail to take full advantage of available computing resources to manage product information effectively. This inefficient use of computing resources leads to increased data maintenance costs in many cases.
In order to address the problems associated with distributed corporate databases, some techniques, known as data warehousing, integrate enterprise information into a centralized database known as a data warehouse. In data warehousing techniques, information from one source or asset can be reused for multiple purposes or applications. The data warehouse can store a variety of types of information, including, for example, alphanumeric data such as pricing, descriptions, specifications, marketing content, competitive data, performance values, finance factors, and weights. In addition, the data warehouse can also store business rules, e.g., processes, administrative directions, workflow guides, and factors, as well as media information, such as product graphics, computer-aided design (CAD) designs, and video and audio files. Documents, such as bulletins, letters, manuals, proposals, and spreadsheets can also be stored in the data warehouse. It should be understood that the data warehouse can store data and information of different types from those described above.
Exporting processes are typically used to define and control the manner in which information is reused. Conventional processes of this type typically involve specifying the types of information that are desired for a particular purpose or application through the structure of the data warehouse. The information of the specified types is then extracted and provided to a client. Exporting processes typically do not allow the user to define the purposes for which an individual instance of information can be used or to specify applications to which the instance of information is available. For example, of a data type defined as Price, two instances can be defined as Retail and Cost and can be used to support two different systems. In one system, designed for customers, it might be desirable to grant access to the Retail instance only. By contrast, in the other system, designed for salespersons, access should be granted to both the Retail and Cost instances. Many traditional exporting processes fail to provide sufficient flexibility to define differential access rights to these instances.
Some data management tools provide structures for distributed users to enter information into corporate databases. Many such tools, however, only support a small variety of structures and are inadequately adapted to handle varying data models. In addition, while data management tools allow users to define relationships between information, many tools of this type fail to adequately use these relationships within themselves. Consequently, many users find it difficult to organize or view their information based on these relationships. In addition, many data management tools provide system administrators with relatively few options for defining users' access rights to information. For example, some such tools only allow system administrators to define access rights to broad categories of information. The lack of flexibility of many of these tools limits the usefulness of such tools in many application environments. The usefulness of many data management tools is often also limited by the complicated user interfaces, such as scripts, involved in defining data relationships. Using such complicated interfaces increases the technical skill required to work with databases in many cases.